package top.zywork.query;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * FundsWithdrawQuery查询对象类<br/>
 *
 * 创建于2019-12-27<br/>
 *
 * @author http://zywork.top 王振宇
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class FundsWithdrawQuery extends PageQuery {

    private static final long serialVersionUID = -9223372036210359036L;

    /**
	 * 提现编号
	 */
	private Long id;
	/**
	 * 提现编号(最小值)
	 */
	private Long idMin;
	/**
	 * 提现编号(最大值)
	 */
	private Long idMax;
	/**
	 * 用户编号
	 */
	private Long userId;
	/**
	 * 用户编号(最小值)
	 */
	private Long userIdMin;
	/**
	 * 用户编号(最大值)
	 */
	private Long userIdMax;
	/**
	 * 交易编号
	 */
	private String transactionNo;
	/**
	 * 提现方式
	 */
	private Byte withdrawType;
	/**
	 * 提现方式(最小值)
	 */
	private Byte withdrawTypeMin;
	/**
	 * 提现方式(最大值)
	 */
	private Byte withdrawTypeMax;
	/**
	 * 发起提现的应用
	 */
	private Byte withdrawClientApp;
	/**
	 * 发起提现的应用(最小值)
	 */
	private Byte withdrawClientAppMin;
	/**
	 * 发起提现的应用(最大值)
	 */
	private Byte withdrawClientAppMax;
	/**
	 * 提现金额（元）
	 */
	private BigDecimal amount;
	/**
	 * 提现金额（元）(最小值)
	 */
	private BigDecimal amountMin;
	/**
	 * 提现金额（元）(最大值)
	 */
	private BigDecimal amountMax;
	/**
	 * 提现银行卡
	 */
	private Long bankcardId;
	/**
	 * 提现银行卡(最小值)
	 */
	private Long bankcardIdMin;
	/**
	 * 提现银行卡(最大值)
	 */
	private Long bankcardIdMax;
	/**
	 * 提现状态
	 */
	private Byte withdrawStatus;
	/**
	 * 提现状态(最小值)
	 */
	private Byte withdrawStatusMin;
	/**
	 * 提现状态(最大值)
	 */
	private Byte withdrawStatusMax;
	/**
	 * 提现描述
	 */
	private String withdrawDescription;
	/**
	 * 审核人编号
	 */
	private Long checkedUserId;
	/**
	 * 审核人编号(最小值)
	 */
	private Long checkedUserIdMin;
	/**
	 * 审核人编号(最大值)
	 */
	private Long checkedUserIdMax;
	/**
	 * 审核时间
	 */
	private Date checkedTime;
	/**
	 * 审核时间(最小值)
	 */
	private Date checkedTimeMin;
	/**
	 * 审核时间(最大值)
	 */
	private Date checkedTimeMax;
	/**
	 * 完成时间
	 */
	private Date completeTime;
	/**
	 * 完成时间(最小值)
	 */
	private Date completeTimeMin;
	/**
	 * 完成时间(最大值)
	 */
	private Date completeTimeMax;
	/**
	 * 版本号
	 */
	private Integer version;
	/**
	 * 版本号(最小值)
	 */
	private Integer versionMin;
	/**
	 * 版本号(最大值)
	 */
	private Integer versionMax;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 创建时间(最小值)
	 */
	private Date createTimeMin;
	/**
	 * 创建时间(最大值)
	 */
	private Date createTimeMax;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	/**
	 * 更新时间(最小值)
	 */
	private Date updateTimeMin;
	/**
	 * 更新时间(最大值)
	 */
	private Date updateTimeMax;
	/**
	 * 是否激活
	 */
	private Byte isActive;
	/**
	 * 是否激活(最小值)
	 */
	private Byte isActiveMin;
	/**
	 * 是否激活(最大值)
	 */
	private Byte isActiveMax;
	
	/**
	 * 多个编(只用于单表，关联表不适用)
	 */
	private Long[] ids;
}
